0 CLR 100 REM 'SMART FORMAT V1.0' BY RUSTIN AMBROSE 1992 110 : 120 REM ** A$ MUST BE FIRST VARIABLE USED IN PROGRAM ** 130 A$="":C0$=CHR$(0):CR$=CHR$(13):VA=PEEK(45)+256*PEEK(46) 140 POKE(VA+2),255:POKE(VA+3),0:POKE(VA+4),192 150 PRINT"--SETTING UP. . ." 160 FORAD=49176TO49375:READX:POKEAD,X:NEXTAD 170 POKE53280,0:POKE53281,0 180 PRINT"[147][155]";CHR$(14) 190 PRINT"***********[211][205][193][210][212][160][198][207][210][205][193][212] [214]1.0***********" 200 PRINTCR$SPC(11)"1541 FAST FORMAT"CR$SPC(12)"WITHOUT 'BUMP'" 210 PRINTCR$SPC(11)"BY [210]USTIN [193]MBROSE" 220 PRINT"[197][206][212][197][210]: DISKETTE NAME,ID" 230 PRINT"(NAME CAN HAVE MAX OF 16 CHARS," 240 PRINT" I.D. MUST BE 2 CHARS LONG)";CR$ 250 DN$="":ID$="":INPUTDN$,ID$:IF(DN$="")OR(ID$="")THENEND 260 LN=LEN(DN$):IFLN>16THENPRINTCR$"--NAME TOO LONG.":GOTO220 270 IFLEN(ID$)<>2THENPRINTCR$"--I.D. NOT 2 CHARACTERS LONG.":GOTO220 280 CS$="N0:"+DN$+CHR$(44)+ID$+CHR$(13):CL=LEN(CS$):POKE49175,CL 290 FORI1=1TOCL:POKE49151+I1,ASC(MID$(CS$,I1,1)+C0$):NEXTI1 300 : 310 CLOSE15:OPEN15,8,15 320 PRINT#15,"M-R"CHR$(34);C0$:GET#15,T$:IFASC(T$+C0$)THEN380 330 PRINTCR$"**[201]NTERNAL TRACK COUNTER OF DRIVE NEEDS" 340 PRINT" TO BE INITIALIZED." 350 PRINT" [208]LEASE INSERT [193][206][217] FORMATTED DISKETTE." 360 PRINT" [212]HE DISKETTE WILL NOT BE AFFECTED**":GOSUB630 370 PRINT#15,"I0":GOSUB700:GOTO320 380 PRINTCR$"**[208]LACE DISKETTE TO BE FORMATTED INTO" 390 PRINT" DRIVE**":GOSUB630 400 PRINT#15,"M-R"CHR$(30);C0$:GET#15,WP$:IFASC(WP$+C0$)AND16THEN430 410 PRINTCR$"--WRITE PROTECT IS ON." 420 PRINT"--REPLACE DISKETTE.":GOSUB630:GOTO400 430 PRINTCR$"**[208]LEASE RE-CHECK THAT DISKETTE IN" 440 PRINT" DRIVE SHOULD BE FORMATTED." 450 PRINT" [193]LL DATA WILL BE DESTROYED!**" 460 PRINTCR$SPC(7)"[[200][201][212] [211][208][193][195][197] [194][193][210] [212][207] [198][207][210][205][193][212]":GOSUB640 470 PRINT#15,"M-R"CHR$(34);C0$:GET#15,T$:IFASC(T$+C0$)=0THEN330 480 PRINT#15,"M-R"CHR$(30);C0$:GET#15,WP$:IF(ASC(WP$+C0$)AND16)=0THEN410 490 PRINTCR$"--FORMATTING '"DN$","ID$"' . . ." 500 PRINT#15,"M-W"CHR$(28);C0$;CHR$(1);C0$ 510 OPEN2,8,2,"#1":PRINT#15,"B-P";2;0:PRINT#2,A$;:CLOSE2 520 PRINT#15,"M-E"CHR$(28);CHR$(4):GOSUB700 530 PRINTCR$"--DONE. [I.S. GAPS: "; 540 PRINT#15,"M-R"CHR$(5)CHR$(6)CHR$(4) 550 FORI1=0TO3:GET#15,G$:G(I1)=ASC(G$+C0$):NEXTI1 560 FORI1=3TO0STEP-1:PRINTG(I1);:NEXTI1:PRINT"]" 570 PRINTSPC(10)"[# OF RE-TRIES:"; 580 PRINT#15,"M-R"CHR$(32)CHR$(6):GET#15,ER$:ER=ASC(ER$+C0$) 590 PRINT10-ER"]" 600 CLOSE15:PRINTCR$"**[198]ORMAT ANOTHER?**":GOSUB630:GOTO220 610 : 620 : 630 PRINTCR$SPC(7)"[[200][201][212] [211][208][193][195][197] [194][193][210] [212][207] [195][207][206][212][201][206][213][197]" 640 PRINTSPC(11)"[207][210] '[197]' [212][207] [197][216][201][212]]" 650 POKE198,0 660 GETI$:IFI$="E"THENCLOSE15:END 670 IFI$<>" "THEN660 680 RETURN 690 : 700 INPUT#15,E1$,E2$,E3$,E4$:IFE1$="00"THENRETURN 710 PRINTCR$"[196][210][201][214][197] [197][210][210][207][210] #"E1$":" 720 PRINT"'"E2$"' [212][210][193][195][203]#"E3$" [211][197][195][212][207][210]#"E4$:CLOSE15:END 730 : 740 DATA1,4,10,0,174,23,4,134,163,189,255,3,157,255,1,202 750 DATA208,247,160,70,162,193,169,132,32,93,4,32,48,6,160,13 760 DATA162,238,169,61,32,93,4,32,48,6,160,54,162,252,169,174 770 DATA32,93,4,169,76,141,0,6,169,123,141,1,6,169,4,32 780 DATA210,200,76,64,238,140,105,4,142,106,4,141,3,6,162,0 790 DATA189,255,255,157,48,6,232,200,204,3,6,208,243,169,96,157 800 DATA48,6,96,165,81,16,19,169,6,141,33,6,169,15,141,34 810 DATA6,169,10,141,32,6,169,1,133,81,160,0,209,50,240,13 820 DATA201,2,208,6,174,38,6,142,4,6,76,251,250,201,1,240 830 DATA52,165,68,74,74,74,74,74,170,189,24,4,24,109,4,6 840 DATA157,5,6,141,38,6,32,48,6,173,12,28,41,31,9,192 850 DATA141,12,28,169,255,141,3,28,169,85,141,1,28,162,2,32 860 DATA36,254,76,177,252,76,0,251